\chapter{About this manual}
The purpose of this manual is to get you working with \adevs\ as quickly as possible. To that end, this manual documents the major features of the simulation engine with an emphasis on how they are used. The table of contents summarizes which aspects of the simulator are described here.

Among the features omitted from this manual are the Java language bindings for the \adevs\ simulator. Build instructions for the Java bindings are given in the ``Build and Install" section. How these bindings are used will (I hope) be obvious once you have perused the C++ interface: the interfaces for building models and running simulations with Java are essentially the same as with C++.

The Java bindings have three limitations. First, you pay a (usually unnoticeable) cost in execution time for the extra work that \adevs\ must to do manage memory associated with input and output objects and models that are orphaned during a change of structure. Second, the facilities for combined simulation of discrete event and continuous models are not implemented for Java. Third, this is not a `pure Java' simulation engine: it uses a great deal of native code to do its work (though this is invisible to the programmer).

There are at least two positive aspects of the Java bindings. The first is it omits the need for explicitly managing memory. The Java garbage collector (plus some extra work by the simulation engine) takes care of this for you. Second, you have access to the nice features and standard libraries of the Java programming language.

Other topics not included in this manual are theory (why the simulator is built as it is) and some experimental features of the simulation engine. Among the latter are support for simulating hybrid differential-algebraic systems and conservative, parallel simulation using multicore processors. If you are interested in any of these subjects, I offer the following (greatly abridged) list of books and articles:
\begin{enumerate}
\item A. M. Uhrmacher. Dynamic structures in modeling and simulation: a reflective approach, ACM Transactions on Modeling and Computer Simulation, Vol. 11, No. 2 , pp. 206-232. April 2001. This paper describes the approach used by \adevs\ to model and simulate dynamic structure systems.
\item Bernard P. Zeigler, Tag Gon Kim and Herbert Praehofer. Theory of Modeling and Simulation, Second Edition. Academic Press. 2000. This book develops the Discrete Event System Specification (DEVS) from its roots in abstract systems theory.
\item James J. Nutaro. Building Software for Simulation: Theory and Algorithms, with Applications in C++. Wiley. 2010. This book presents the Discrete Event Systems Specification with code for the (slightly abridged) \adevs\ simulator and has several examples of its use. This book also describes the conservative, parallel simulator and discusses the construction of new ODE solvers and event finding modules for \adevs.
\end{enumerate}
Question and comments about this software can be sent to Jim Nutaro at nutarojj@ornl.gov. 
